package com.meilai.project.controller.web.businessFlow.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

/**
 * @author 张驰
 * @description 销售单
 * @date 2022-09-14 16:39
 */
@Data
@ApiModel
public class BFBillSaleVO {
    @ApiModelProperty(value = "销售单_id")
    private Long id;

    @ApiModelProperty(value = "销售单_类型")
    private Integer bill_sale_type;

    @ApiModelProperty(value = "销售单_类型名称")
    private String bill_sale_type_name;

    @ApiModelProperty(value = "0:无状态，1：挂起, 2:作废")
    private Integer bill_sale_mode;

    @ApiModelProperty(value = "销售单_状态名称")
    private String bill_sale_status_name;

    @ApiModelProperty(value = "流程当前状态（0：保存；2、退回；3、流程中；4、通过；5、删除）")
    private Integer bill_sale_flow_status;

    @ApiModelProperty(value = "销售单_审批流程节点名称")
    private String bill_sale_flow_status_name;

    @ApiModelProperty(value = "销售单_开始时间")
    private LocalDateTime start_at;

    @ApiModelProperty(value = "销售单_结束时间")
    private LocalDateTime end_at;

    @ApiModelProperty(value = "销售单_执行期")
    private String bill_sale_date;

    @ApiModelProperty(value = "销售单_执行金额")
    private BigDecimal bill_sale_execute_amount = BigDecimal.ZERO;

    @ApiModelProperty(value = "销售单_资源")
    private String bill_sale_media_type_names;


    @ApiModelProperty(value = "有市场单")
    private Boolean bill_market_has = false;

    @ApiModelProperty(value = "市场单_id")
    private Long bill_market_id;

    @ApiModelProperty(value = "1：普通类型 2：换画类型")
    private Integer bill_market_type;

    @ApiModelProperty(value = "市场单_类型名称")
    private String bill_market_type_name;

    @ApiModelProperty(value = "流程当前状态（0：保存；2、退回；3、流程中；4、通过；5、删除）")
    private Integer bill_market_flow_status;

    @ApiModelProperty(value = "市场单_审批流程节点名称")
    private String bill_market_flow_status_name;

    @ApiModelProperty(value = "市场单_已生成链接")
    private Boolean bill_market_link_generated = false;

    @ApiModelProperty(value = "市场单_调度已确认拍照要求")
    private Boolean bill_market_shoot_requirement_confirmed = false;

    @ApiModelProperty(value = "市场单_画面设计已上传")
    private Boolean bill_market_designed = false;

    @ApiModelProperty(value = "市场单_客户已确认")
    private Boolean bill_market_customer_confirmed = false;


    @ApiModelProperty(value = "有制作单")
    private Boolean bill_ad_make_has = false;

    @ApiModelProperty(value = "制作单_id")
    private Long bill_ad_make_id;

    @ApiModelProperty(value = "外单分类id，1正常，2换画")
    private Integer bill_ad_make_type;

    @ApiModelProperty(value = "制作单_类型名称")
    private String bill_ad_make_type_name;

    @ApiModelProperty(value = "流程当前状态（0：保存；2、退回；3、流程中；4、通过；5、删除）")
    private Integer bill_ad_make_flow_status;

    @ApiModelProperty(value = "制作单_审批流程节点名称")
    private String bill_ad_make_flow_status_name;

    @ApiModelProperty(value = "制作单_分配供应商数量")
    private Integer bill_ad_make_dis_supplier = 0;

    @ApiModelProperty(value = "制作单_已生成链接数量")
    private Integer bill_ad_make_gen_link = 0;

    @ApiModelProperty(value = "制作单_已确认数量")
    private Integer bill_ad_make_supplier_confirm = 0;


    @ApiModelProperty(value = "工单_已派工数量")
    private Integer work_order_distributed_count = 0;

    @ApiModelProperty(value = "工单_已派工中已完成数量")
    private Integer work_order_distributed_finished_count = 0;

    @ApiModelProperty(value = "工单_已派工")
    private Boolean work_order_distributed = false;

    @ApiModelProperty(value = "工单_已完成")
    private Boolean work_order_distributed_finished = false;

    @ApiModelProperty(value = "工单")
    private List<BFWorkOrderVO> work_order_list = new ArrayList<>();


    @ApiModelProperty(value = "监播已发送")
    private Boolean broadcast_send = false;

    @ApiModelProperty(value = "结算材料已上传")
    private Boolean settle_material_upload = false;

    @ApiModelProperty(value = "已开票")
    private Boolean invoice_make_out = false;

    @ApiModelProperty(value = "是否上传发票回执")
    private Boolean upload_material = false;

    @ApiModelProperty(value = "已到款")
    private Boolean payment_receive = false;

    @ApiModelProperty(value = "发票id")
    private Long invoice_apply_id;

    @ApiModelProperty(value = "到款id集合")
    private List<Long> account_received_ids;
}
